/*--------------------------------------------------------------------------------------*\
**
** adv_border_guards.h
**
** Heroes IV
** Copyright 2000, The 3DO Company
**
\*--------------------------------------------------------------------------------------*/

#ifndef ADV_BORDER_GUARDS_H_INCLUDED
#define ADV_BORDER_GUARDS_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "stationary_adventure_object.h"

class t_army;
class t_button;
class t_player;
class t_text_window;
class t_toggle_button;
class t_town;

// Adventure object keymaster class.
class t_adv_border_guard : public t_stationary_adventure_object
{
public:
                
    t_adv_border_guard(  std::string const& source, t_qualified_adv_object_type const& type );
    void				activate_trigger( t_army* army, t_adv_map_point const& point, 
		                               t_direction direction, t_adventure_frame* frame );

	virtual float		ai_value( t_adventure_ai const& ai, t_creature_array const& army, int move_cost ) const;

	virtual bool        read( std::streambuf&						stream, 
					          t_qualified_adv_object_type const&	type,
					          int									version );
	virtual bool        write( std::streambuf& stream ) const;	

protected:

    int             m_major_subtype;
};

void remove_chains( t_adventure_object& object );

#endif // ADV_BORDER_GUARD_H_INCLUDED
